package cn.wolfcode.rbac.service;

import cn.wolfcode.rbac.domain.Department;
import cn.wolfcode.rbac.qo.QueryObject;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface IDepartmentService {

    /**
     * 查询所有部门
     * @param qo  当前页数，每页多少条数据
     * @return PageInfo  分页的数据
     */
    PageInfo<Department> list(QueryObject qo);

    /**
     * 根据id删除指定部门
     * @param id
     */
    void delete(Long id);

    /**
     * 保存部门信息
     * @param department
     */
    void save(Department department);

    /**
     * 更新部门信息
     * @param department
     */
    void update(Department department);

    /**
     * 根据id查询指定部门信息
     * @param id
     * @return
     */
    Department get(Long id);

    /**
     * 查询全部部门信息
     * @return
     */
    List<Department> listAll();
}
